package py.com.alfa.escriba.web.services;

import java.util.List;

import py.com.alfa.escriba.exception.ServiceException;
import py.com.alfa.escriba.persistence.dto.referencia.BarrioDTO;
import py.com.alfa.escriba.persistence.dto.referencia.DepartamentoDTO;
import py.com.alfa.escriba.persistence.dto.referencia.DistritoDTO;
import py.com.alfa.escriba.persistence.dto.referencia.EmpleoDTO;
import py.com.alfa.escriba.persistence.dto.referencia.LocalidadDTO;
import py.com.alfa.escriba.persistence.dto.referencia.TabRefDTO;
import py.com.alfa.escriba.web.rest.dto.EmpleoResponseDTO;

public interface ReferenciaService {
	 public EmpleoResponseDTO obtenerEmpleos() throws ServiceException;
	 public EmpleoDTO crearEmpleo(EmpleoDTO dto)  throws ServiceException;
	 public void moverEmpleo(Long id, Long idDestino)  throws ServiceException;
	 public EmpleoDTO actualizarEmpleo(EmpleoDTO dto)  throws ServiceException;
	 public void eliminarEmpleo(Long id) throws ServiceException;
	 
	 public List<DepartamentoDTO> obtenerDepartamentos() throws ServiceException;
	 public DepartamentoDTO obtenerDepartamento(String id) throws ServiceException;
	 public DepartamentoDTO crearDepartamento(DepartamentoDTO dto)  throws ServiceException;
	 public DepartamentoDTO actualizarDepartamento(DepartamentoDTO dto)  throws ServiceException;
	 public void eliminarDepartamento(String id) throws ServiceException;
	 
	 public List<DistritoDTO> obtenerDistritos(String idDepartamento) throws ServiceException;
	 public DistritoDTO obtenerDistrito(Long id) throws ServiceException;
	 public DistritoDTO crearDistritos(DistritoDTO dto)  throws ServiceException;
	 public DistritoDTO actualizarDistritos(DistritoDTO dto)  throws ServiceException;
	 public void eliminarDistritos(Long id) throws ServiceException;

	 public List<BarrioDTO> obtenerBarrios(Long idDistrito) throws ServiceException;
	 public BarrioDTO crearBarrios(BarrioDTO dto)  throws ServiceException;
	 public BarrioDTO actualizarBarrios(BarrioDTO dto)  throws ServiceException;
	 public void eliminarBarrios(Long id) throws ServiceException;

	 public LocalidadDTO    obtenerLocalidad(String idDepartamento) throws ServiceException;
	 public List<TabRefDTO> obtenerTablaReferencia(String tabla) throws ServiceException;

	 
}
